﻿/*----------------------------------------------------------------
//  <copyright file="DbFunctionExtensions.cs" company="MicroCloud@151504200868">
//      Copyright © 2020-2024 MicroCloud Corporation, All rights reserved.
//  </copyright>
//  <site>https://gitee.com/chenmm123/microclouds</site>
//  <last-editor>cmm</last-editor>
//  <last-date>2024-02-06 10:24</last-date>
//----------------------------------------------------------------*/

namespace MicroCloud.Entity
{
    #region "数据库函数扩展"
    /// <summary>
    /// 提供在LINQ to Entities查询中使用时转换为数据库函数的CLR方法。此类上的方法可通过 <see cref="EF.Functions" /> 访问。
    /// </summary>
    /// <remarks>
    /// 请参阅 <see href="https://aka.ms/efcore-docs-database-functions">数据库函数</see> 了解更多信息和示例。
    /// </remarks>
    public static class DbFunctionExtensions
    {
        #region "扩展方法"
        #region "SQL LIKE操作的实现。在关系数据库中，这是通常直接翻译成SQL。"
        /// <summary>
        /// SQL LIKE操作的实现。在关系数据库中，这是通常直接翻译成SQL。
        /// </summary>
        /// <param name="matchExpression">要匹配的字符串。</param>
        /// <param name="pattern">可能涉及通配符%、_、[、]、^的模式。</param>
        /// <param name="escapeCharacter">如果%、_、[、]、^未用作通配符，则在它们前面使用的转义符（作为单个字符串）。</param>
        /// <returns>如果匹配，则为true</returns>
        public static bool Like(this string matchExpression, string pattern, string escapeCharacter = @"\")
        {
            return EF.Functions.Like(matchExpression, pattern, escapeCharacter);
        }
        #endregion

        #endregion

    }
    #endregion

}

